
#include <sys/mman.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <unistd.h>
#include <linux/fb.h>
#include <fcntl.h>
#include <stdio.h>
#include <string.h>
#include <sys/ioctl.h>
#include <stdlib.h>


#include <disp_manager.h>
#include <font_manager.h>
#include <input_manager.h>
#include <page_manager.h>



int main(int argc, char **argv)
{
	
	
	int error;

	if(argc != 2)
	{
		printf("Usage: %s <font_file> \n", argv[0]);
		return -1;
	}
	

/***************** 初始化显示系统 *****************/
	/* 注册显示设备结构体 */
    DisplaySystemRegister();
	/*	选择一个设备作为默认的显示设备	*/
    SelectDefaultDisplay("fb");
	/*	初始化此设备，进行硬件初始化和显存的映射	*/
    InitDefaultDisplay();

/***************** 初始化输入系统 *****************/
	/* 初始化输入系统 */
	InputSystemRegister();
	InputDeviceInit();
/***************** 初始化文字系统 *****************/
	/*	注册字库结构体	*/
	FontsSystemRegister();

	/*	选择一个字库并进行初始化	*/
	error = SelectAndInitFont("freetype", argv[1]);
	if(error != 0)
	{
		printf("SelectAndInitFont error \n");
		return -1;
	}
	
/***************** 初始化页面系统 *****************/
	PageSystemRegister();

/******************** 业务程序 ********************/
	printf("Systems Init success, MainPage Start\n");
	/* 运行业务系统的主页面 */
	Page("main")->Run(NULL);
	printf("Page over\n");
	
	return 0;	
}


